package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

/**
 * 新用户注册活动对象 new_user_registration_activity
 *
 * @author ruoyi
 * @date 2025-06-08
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("新用户注册活动")
@TableName("new_user_registration_activity")
public class NewUserRegistrationActivity extends AbdulBaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 活动的唯一标识符
     */
    @ApiModelProperty(value = "活动的唯一标识符")
    private Long id;

    /**
     * 活动名称
     */
    @ApiModelProperty(value = "活动名称")
    private String activityName;

    /**
     * 活动编号，唯一标识一个活动
     */
    @ApiModelProperty(value = "活动编号，唯一标识一个活动")
    private String activityCode;

    /**
     * 活动有效开始日期
     */
    @ApiModelProperty(value = "活动有效开始日期")
    private LocalDate startDate;

    /**
     * 活动有效结束日期
     */
    @ApiModelProperty(value = "活动有效结束日期")
    private LocalDate endDate;

    /**
     * 活动状态 (1=启用, 2=停用)
     */
    @ApiModelProperty(value = "活动状态 (1=启用, 2=停用)")
    private Integer status;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String phone;

    /**
     * 营销活动设置类型 （1-新用户注册有利 2-批量发放卡卷）
     */
    @ApiModelProperty(value = "营销活动设置类型 （1-新用户注册有利 2-批量发放卡卷）")
    private Integer marketingType;

    //DTO
    @ApiModelProperty("活动有效期方式 1-不限期 2-固定期限")
    @TableField(exist = false)
    private Integer validityPeriodMode;

    @ApiModelProperty("使用门店列表")
    @TableField(exist = false)
    List<RegistrationActivityStore> stores;
}
